Conventionally, configuration profile for a software application is generated based on a couple of snapshots on a bare target platform. A first snapshot is taken before installing the software application. Then a human software engineer, referred to as a packager, who creates an installation package for the software application manually installs the software application in the target platform by setting system parameters on devices and applications configuration required for the software application to be functional. Certain system parameters may be present in more than one system file in the target platform, and the redundancies are identified and removed, if unnecessary, during the installation by the packager. A second snapshot is taken after the installation is complete, the differences between the second snapshot and the first snapshot are extracted and set as a configuration profile for the software application.